<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 
    一、三次握手
    1、客户端发送 syn=1,seq=x给服务器,等待确认 (syn同步序列编号 seq在数据流的序号)
    2、服务器收到后给客户端发送 asy=1 ack=1
    3、客户端发ack=1
    简单点就是 syn=1 -> syn+ack都是1 -> ack=1

    为什么采用三次握手?
    - 为了防止已失效的连接请求报文段突然又传送到了服务端，因而产生错误。
    - 比如,如果不采用3次握手,由于网络延迟,之前发送的连接请求刚到,服务器收到后,就建立了连接,而此时客户端可能
    - 早干别的事去了,导致服务器白白等待,浪费资源.而采用三次连接,需要客户端再次确认,如果不确认,连接就不成功,
    - 不会浪费资源


    二、四次挥手
    1、客户端向服务器发送FIN报文,FIN=1,客户端进入FIN-WATI-1状态.客户端不发数据了,还可以接收数据
    2、服务端收到FIN信号后,发送ack=1信号,进入CLOSE-WAIT状态.客户端收到后状态后,自己进入FIN-WAIT-2状态,等待释放报文
    3、服务端确认数据发送完毕后,发送FIN=1信号,自己进入LAST-ACK状态
    4、客户端收到后,发送ACK=1,等待两个报文周期后,进入CLOSED状态,两端完全关闭



参考连接:https://blog.csdn.net/hathwayoung/article/details/108479986


 -->
</body>

</html>